The present invention is directed generally to reducing the storage space required for data files and, more particularly, to processing aircraft data files prior to compression and after decompression.
It is common for an aircraft to generate records of data relating to the aircraft. Such records of data relating to the aircraft may be used for analyzing the behavior of the aircraft during flight, for identifying potential problems with the aircraft, or for investigating causes of aircraft accidents and incidents. To fulfill these functions, significant amounts of digital data relating to the aircraft are recorded before, during, and after each flight. For example, there can be up to several hundred different parameters relating to the aircraft that are measured and recorded during flight. Some data typically relate to parameters such as: air speed, altitude, vertical acceleration, heading, time, pitch, rudder position, fluid pressures, temperatures, and other aircraft positions and control surface positions. Such data can relate to various flight and performance parameters associated with each flight and can include data that are useful for maintaining the aircraft in proper operation. Other data can be utilized, for example, for investigating accidents or near-accidents and for assisting in detecting faulty components or gradual deterioration of systems or components, for assisting in reviewing crew performance, and for assisting in logistical planning activities such as scheduling and routing.
A digital flight data acquisition unit (DFDAU) may be used to gather data relating to an aircraft. The DFDAU may store the data on storage media such as magnetic media, optical media, magneto-optical media, or personal computer memory cards (PCMCIA cards). When the aircraft lands, the data relating to the aircraft may be provided to a flight operations center (FOC) by physically removing the storage media and manually transporting it to the FOC. Otherwise the data can be transmitted to the FOC using radio frequency (RF) transmissions. It is also known to transmit the data via a telephone system located in a terminal. Furthermore, the aircraft data can be transferred using transmission systems that automatically transfer the aircraft data from the aircraft to the FOC, and vice-versa, using little or no human involvement and which rely on wireless delivery systems, such as wireless cellular technology, for example.
The recordation of data relating to an aircraft for the purposes of investigation, maintenance, and flight operations is often done in a repetitive format using aviation industry standard formats known as subframes and frames. Once recorded, the data are sometimes compressed using conventional digital data compression techniques. Such conventional compression techniques, however, do not benefit from the specific nature of the aircraft data and therefore do not optimize the file compression ratios that could be achieved by taking into account the form in which the aircraft data is stored in the storage media. Alternatively, formats other than the industry standard subframe/frame formats can sometimes be used for recording and compressing the aircraft data in view of the specific nature of the aircraft data. In the latter case, however, interpreting the data becomes more difficult because the recordation of the aircraft data is not stored in accordance with the industry standard. Accordingly, conventional digital data compression techniques do not provide the most efficient aircraft data compression ratios and, thus, do not optimize the storage available on the storage media aboard the aircraft.
Storing digital aircraft data in a minimum space is frequently desired because compressed data generally require less storage space and takes less time to communicate between an aircraft and a FOC. Furthermore, less communication time saves money because it reduces the connection fees for each set of aircraft data communicated. It is also desirable to communicate the aircraft data in the quickest time possible because only a short period may be available in which the aircraft data can be communicated. For example, aircraft data may not be transmitted while the aircraft is still in flight to avoid interfering with the operation of on-board avionic systems, radios, and the like, during flight. Accordingly, aircraft data may be transmitted as soon as the aircraft lands. In some cases, the aircraft data must be communicated during a limited time period of about 20 minutes, for example, while the aircraft remains on the ground, while the aircraft doors remain open, or while power is applied to the aircraft.
Although there is a need to maximize the compression of aircraft data, there is a limit to the file compression ratio or reduction ratio that a file compression software program can achieve. Factors limiting the file compression ratio include, for example, the file type, the file size, and the compression scheme used by the compression algorithm. Furthermore, files that contain a lot of unique information generally do not compress well. Alternatively, files that contain a lot of repeated information such as characters or patterns of characters generally compress very well. Moreover, the overall rate of compression increases with the file size in files that contain a lot of repeated information. The problem with conventional file compression programs is that they have no a priori knowledge of the contents of the data file to be compressed. Also, conventional file compression programs do not rearrange the sequence of characters contained in the data file. Rather, the conventional compression programs utilize algorithms that merely parse the data file looking for repeated patterns and create a reference dictionary for cataloging the various redundant pieces of data.
According to one aspect the invention provides a method of processing a data file, including: selecting a packet size that is a number of bits between one and a subframe size within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form; separating the data into consecutive packets of the selected size; repositioning the packets located in similar positions within a frame adjacent to one another; and storing the packets in an output file.
Another aspect of the invention provides a method of processing a compressed data file, including: decompressing a compressed data file stored in a computer memory in digital form, the compressed data file containing a predetermined packet size, repositioned packets located in similar positions within a frame adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is between one and a subframe size; repositioning the adjacent consecutive packets of the predetermined size into an original position within the frame; and storing the decompressed repositioned frames in an output file.
A further aspect of the invention provides a method of processing a data file, including: (a) selecting a number of frames to be processed within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form, and wherein the number of frames are selected according to an available amount of memory in the computer; (b) creating an output file to store the processed data; (c) selecting a packet size that is a number of bits between one and a subframe size; (d) separating the data into consecutive packets of the selected size; (e) repositioning the packets located in similar positions within a frame adjacent to one another; (f) appending the processed packets to the output file; (g) repeating (c)-(f) for the number of selected frames; (h) processing a remaining portion of the input file containing less than the selected number of frames; and (i) storing the output file for further processing by a compression algorithm.
Yet another aspect of the invention provides a method of processing a compressed data file, including: (a) decompressing the compressed data file stored in a computer memory in digital form, the compressed data file containing groups of frames chosen by selecting a number of frames to be processed within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form, and wherein the number of frames are selected according to an available amount of memory in the computer, a predetermined packet size identifier, repositioned packets located in similar positions within a frame of a selection adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is a number of bits between one and a subframe size; (b) repositioning the adjacent consecutive packets of the predetermined size into an original position within the frame; (c) storing the repositioned frames in the output file; (d) repeating (b)-(c) until all selections of the decompressed file are processed; and (e) repeating (b)-(c) for the last selection of the decompressed file of less than the selected size.
Yet a further aspect of the invention provides a system for processing a data file, including: a processor for selecting a packet size that is a number of bits between one and a subframe size within the input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form; separating the data into consecutive packets of the selected size; and repositioning the packets located in similar positions within a frame adjacent to one another; and a memory for storing the packets in an output file for further processing by a compression algorithm.
Still another aspect of the invention provides a system for processing a compressed data file, including: a processor for decompressing the compressed data file stored in a computer memory in digital form, the compressed data file containing a predetermined packet size identifier, repositioned packets located in similar positions within a frame adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is between one and a subframe size; repositioning the adjacent consecutive packets of the predetermined size into an original position within the frame; and a memory for storing the decompressed repositioned frames in an output file.
Still a further aspect of the invention provides a system for processing a data file stored in a computer memory in digital form, including: a processor for: (a) selecting a number of frames to be processed within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form, and wherein the number of frames is selected according to an available amount of memory in the computer; (b) creating an output file to store the processed data; (c) selecting a packet size that is a number of bits between one and a subframe size; (d) separating the data into consecutive packets of the selected size; (e) repositioning the packets located in similar positions within a frame adjacent to one another; (f) appending the processed packets to the output file; (g) repeating (c)-(f) for the number of selected frames; and (h) processing a remaining portion of the input file containing less than the selected number of frames; and a memory for storing the output file for further processing by a compression algorithm.
Another aspect of the invention provides a system for processing a data file stored in a computer memory in digital form, including: a processor for: (a) decompressing a compressed data file stored in a computer memory in digital form, the compressed data file containing groups of frames chosen by selecting a number of frames to be processed within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form, and wherein the number of frames is selected according to an available amount of memory in the computer a predetermined packet size identifier, repositioned packets located in similar positions within a frame adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is a number of bits between one and a subframe size; (b) repositioning the adjacent consecutive packets of the predetermined size into its original position within the frame; (c) storing the repositioned frames in the output file; (d) repeating (b)-(c) until all selections of the decompressed file are processed; and (e) repeating (b)-(c) for the last selection of the decompressed file of less than the selected size.
A further aspect of the invention provides a computer-readable medium including computer executable instructions thereon for: selecting a packet size that is a number of bits between one and a subframe size within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form; separating the data into consecutive packets of the selected size; repositioning the packets located in similar positions within a frame adjacent to one another; and storing the packets in an output file for further processing by a compression algorithm.
Yet another aspect of the invention provides a computer-readable medium including computer executable instructions thereon for: decompressing a compressed data file stored in a computer memory in digital form, the compressed data file containing a predetermined packet size identifier, repositioned packets located in similar positions within a frame adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is a number of bits between one and a subframe size; repositioning the adjacent consecutive packets of the predetermined size into its original position within the frame; and storing the decompressed repositioned frames in an output file.
Yet a further aspect of the invention provides a computer-readable medium comprising computer executable instructions thereon for: (a) selecting a number of frames to be processed within an input file containing data stored in frames and subframes format, wherein the data file is stored in a computer memory in digital form, and wherein the number of frames is selected according to an available amount of memory in the computer; (b) creating an output file to store the processed data; (c) selecting a packet size that is a number of bits between one and a subframe size; (d) separating the data into consecutive packets of the selected size; (e) repositioning the packets located in similar positions within a frame adjacent to one another; (f) appending the processed packets to the output file; (g) repeating (c)-(f) for the number of selected frames; (h) processing a remaining portion of the input file containing less than the selected number of frames; and (i) storing the output file for further processing by a compression algorithm.
Still another aspect of the invention provides a computer-readable medium including computer executable instructions thereon for: (a) decompressing a compressed data file stored in a computer memory in digital form, the compressed data file containing a predetermined packet size identifier, repositioned packets located in similar positions within a frame adjacent to one another, and separated consecutive packets of the predetermined packet size, wherein the predetermined packet size is a number of bits between one and a subframe size; (b) repositioning the adjacent consecutive packets of the predetermined size into an original position within the frame; (c) storing the repositioned frames in the output file; (d) repeating (b)-(c) until all portions of the compressed file are processed; and (e) repeating (b)-(c) for the last selection of the decompressed file of less than the selected size.